Binary-tree multiplexing scheduling

ABSTRACT

Multiplexed scheduling of information blocks from multiple sources on a single communication channel divided into multiple address positions is performed. The information block from each source has a repetition period and is divided into a number of segments. A bandwidth adequacy verification is performed for expected information blocks to be scheduled on the channel. Mapping positions are assigned corresponding to nodes in a binary tree, whereby each layer of the binary tree corresponds to a repetition period of the respective information block. Assignment of the information blocks to the binary tree is based on a priority order of repetition period of the respective information block.

CROSS REFERENCES TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.11/122,538, filed on May, 05, 2005, which is a continuation of U.S.patent application Ser. No. 10/314,691, filed on Dec. 9, 2002, which isa continuation of U.S. patent application Ser. No. 10/010,868, filed onDec. 7, 2001 and claims priority from Provisional Patent Application No.60/297,807, filed on Jun. 13, 2001.

FIELD OF INVENTION

This application is related to wireless communications.

BACKGROUND

In wireless communications, there may be multiple blocks of informationfrom multiple sources required to be scheduled for periodic access ofsingle channel. Due to constraints of the physical layer of the channel,such as limited transmission rate or power level, each block ofinformation may need to be segmented into several segments, with eachsegment scheduled at a position for accessing the channel.

While scheduling the different sources of information, severalrequirements must be considered. The single channel is divided intomultiple addresses or positions to which information segments areassigned or scheduled. As multiple sources of information have theirassociated information block segments scheduled along the channelpositions, the scheduled information is considered multiplexed onto thechannel. Therefore, conflicts of positions between different segments ofinformation must be avoided, i.e., a channel position cannot be sharedby segments of two different information blocks. Thus, the firstrequirement is that each position can be assigned to only one segment ofinformation.

Second, since the repetition period required by each source ofinformation is based on functions associated with the information, thedifferent sources of information require different periods for accessinga single channel. For example, in 3G UMTS, a Broadcast Channel (BCCH)having System Information Blocks (SIBs) with different periods signifiesvarious latency of system functions, such as Power Control or CellSelection. Shorter repetition periods lead to shorter latency since UserEquipment (UE) can receive system information faster than required toperform system functions. However, this requirement compromisesefficient use of limited bandwidth of the channel. Shorter repetitionperiods also imply heavier loading to the single channel and limit thepossibility to allocate the bandwidth for other usages.

Third, in order to maximize channel efficiency, unassigned positions onthe channel should be kept to a minimum in order to maximize theutilization of the channel.

Fourth, segments of the same block of information should be scheduled asconsecutively as possible, since information often cannot be read untilall segments of the same source of information arrive at the receiver.

One solution to this problem has been to use a first come first service(FCFS) assignment method. In this method, the scheduler beginsscheduling with a first source's block of information. Once the firstsource of information is scheduled, the scheduler then assigns positionsto the block of information of a second source of information on to thesingle channel. While scheduling the second source of information, thescheduler needs to avoid assigning channel positions that are alreadyassigned to the first source's block of information. Thus, whilescheduling the subsequently scheduled blocks of information, thescheduler needs to keep track of all positions that are already assignedto previously scheduled blocks of information.

FIGS. 1A and 1B show an example in which three sources of informationare scheduled to access a single channel, CHANNEL A. Three blocks ofinformation, SOURCE 1, SOURCE 2, and SOURCE 3 are shown having varyingsegment counts and repetition periods. FIG. 1B shows the scheduling ofthe red, blue and green information segments to positions on CHANNEL Abased on the segment counts and required repetition periods of SOURCE 1,SOURCE 2 and SOURCE 3. As evident in CHANNEL A shown in FIG. 1B, thereare unassigned positions remaining after the scheduling of the SOURCE 1,SOURCE 2 and SOURCE 3 information blocks (8, 9, 18, 19, 20 . . . ). Asmore blocks of information with different segment count and repetitionperiod constraints are added for scheduling on CHANNEL A, a schedulingmethod that does not compromise one or more of the above requirementsbecomes difficult to achieve.

Using the FCFS approach results in several compromises, such as segmentsbelonging to the same source's block of information cannot be scheduledconsecutively since the solution does not reserve enough consecutivepositions available that can satisfy information with large segmentcounts. This compromise is shown in FIG. 1B for SOURCE 3, as the greeninformation segments are not scheduled consecutively on CHANNEL A. Thisdelays the reading of the SOURCE 3 block of information as the receiverawaits for all segments of the information block to arrive. Also, due tothe periodic nature of the scheduling, two sources of information mayconflict with each other at some future position, thus creating the needto perform global searches each time an information segment is to beassigned to a position in order to avoid the possible conflict.

What is needed is a method and system that determines the requiredbandwidth for a given set of information blocks and that efficientlyschedules information while optimizing for the above requirements.

SUMMARY

A method for multiplexed scheduling of information blocks from multiplesources on a single communication channel divided into multiple addresspositions is disclosed. The information block from each source has arepetition period and is divided into a number of segments. Once thetotal number of positions on the channel to be scheduled is determined,positions are mapped in a non-sequential order corresponding to nodes ina binary tree, whereby each layer of the binary tree corresponds to aparticular repetition period. The blocks of information are assigned inthe order of ascending repetition period. The information segments ofeach block are scheduled to unassigned positions at the associatedbinary tree layer as well as to all corresponding child nodes.

BRIEF DESCRIPTION OF THE DRAWINGS

A more detailed understanding may be had from the following description,given by way of example and to be understood in conjunction with theaccompanying drawings.

FIGS. 1A and 1B show prior art multiplexing of three different blocks ofinformation onto a single channel;

FIG. 2 shows a four layer binary tree;

FIGS. 3A and 3B show a method flow diagram for scheduling multiplesources of information on a multiplexed single channel using a binarytree.

FIG. 4 shows a sample of multiple blocks of information from informationsources to be scheduled on a multiplexed single channel.

FIGS. 5A through 5H show the progression of mapping the FIG. 4information blocks to assigned positions onto a binary tree.

DETAILED DESCRIPTION

When referred to hereafter, the terminology “wireless transmit/receiveunit (WTRU)” includes but is not limited to a user equipment (UE), amobile station, a fixed or mobile subscriber unit, a pager, a cellulartelephone, a personal digital assistant (PDA), a computer, or any othertype of user device capable of operating in a wireless environment. Whenreferred to hereafter, the terminology “base station” includes but isnot limited to a Node-B, a site controller, an access point (AP), or anyother type of interfacing device capable of operating in a wirelessenvironment.

R blocks of information denoted by INFO₁, INFO₂, . . . , INFO_(R), eachassociated with a source of information are introduced herein. Eachinformation block INFO has its own repetition period RP, which indicateshow often the information should access the single channel, and isdivided into segments SEGs with a segment count SC, which is the numberof segments SEGs to a block of information. A single channel is dividedinto address positions P to which information segments SEGs arescheduled or assigned.

The following formula determines whether there is adequate bandwidth fora given set of information sources to be accessed by a single channel.

$\begin{matrix}{{\sum\limits_{r = 1}^{R}\; \frac{{INFO}_{r}({SC})}{{INFO}_{r}({RP})}} \leq 1} & \left( {{Equation}\mspace{14mu} 1} \right)\end{matrix}$

Adequate bandwidth exists if Equation 1 holds true.

FIG. 2 shows an example of a binary tree with N layers and 2^(N)positions on the bottom layer. N is chosen such that 2^(N) is themaximum repetition period RP among all of the information blocks INFOs.The repetition period RP usually depends on overall system requirements,and is preferred to be equivalent to 2^(N) for some natural number N.This avoids conflict of different information blocks INFOs at anyparticular position.

Returning to FIG. 2, each node of the layer n where n≦N, can berepresented as an n-dimension vector (a_(n), a_(n-1), . . . , a₁) witharguments 0 or 1. A binary tree is defined such that at each layer, theargument an alternates between 0 and 1 from left to right. Each node ofthe layer n is associated with a value that is equivalent to the binaryrepresentation of the vector. For example, at node A with layer valuen=4, a vector (a₄, a₃, a₂, a₁) has a binary representation of (1011),which is equivalent to eleven (11). For the binary tree shown in FIG. 2with four layers (N=4), there are sixteen positions (2⁴) in the order 0,8, 4, 12, 2, . . . 7, 15, as shown in the bottom row. Each node has anassociated parent node and two child nodes.

FIG. 3 shows a flow diagram of a method 150 for scheduling multipleblocks of information onto a single communication channel. First,adequate bandwidth is confirmed for the given set of information blocksusing Equation 1 (step 100). Next, the scheduler must determine thenumber of positions necessary to allow all information segments to bescheduled (step 101). P_(MAX) represents the maximum number of positionsneeded to allow the total number of segments to be scheduled, and isrepresented as follows:

P _(MAX)=2^(N)−1  (Equation 2)

where N=log₂(maxINFO_(r)(RP))  (Equation 3)

For each information block INFO, positions P(i) for i=(0, 1, . . . , SC)are selected from among the positions from P=0 to P=2^(N)−1.

Next, in step 102, an information list, LIST A, is created for all ofthe information blocks INFOs sorted in ascending order of theirrepetition periods RP. Some systems might require specific positions fora certain type of information. For instance, when the block ofinformation INFO is control information, such as a managementinformation base (MIB), it is considered to be a header INFO, and isplaced on the top of LIST A. When sorting the information blocks INFOsin LIST A, the non-header INFOs are sorted in ascending order of RP,directly below the header INFO in LIST A. The scheduler refers to LIST Afor the order in which to assign information segments onto the singlechannel. Using the format as shown in FIG. 2, a binary tree is createdwith N layers and 0 to 2^(N)−1 positions (step 103). A positionassignment list, LIST B, is next created in step 104, where eachinformation segment SEG for each information block INFO is assigned to asingle position P. The next step for scheduling, step 105, involvesdetermining which layer of the binary tree is to be used for the firstinformation block INFO₁. For layer m, m is defined by Equation 4:

m=log₂(INFO₁(RP))≦N  Equation 4

In step 106, positions for the first information block INFO₁ are chosenusing consecutive numbers from P=0 to P=(SC−1). Nodes on the m layerthat represent assigned positions for the first information block INFO₁,are virtually marked on the binary tree in step 107. All child nodesbelow the virtually marked nodes on the m layer are also marked asassigned and are removed from consideration for assigning positions toany segment SEG of the remaining information blocks INFOs. In step 108,the next INFO is retrieved from LIST A. Layer k represents a layer forany subsequently scheduled information block INFO_(r), and is defined byEquation 5:

k=log₂(INFO_(r)(RP))≦N  Equation 5

Two criteria are examined in step 109 when assigning informationsegments SEGs of INFO to positions P: 1) whether INFO immediatelyproceeds the header INFO (i.e., INFO is the first non-header INFO inLIST A); and 2) whether k<m. If both criteria of step 109 are satisfied,then INFO SEGs are assigned in step 111 to available positions P in thek layer having the greatest numerical value and with the smallestpossible range among the available positions P from P(0) to P (SC−1).Otherwise, if the step 109 criteria are not satisfied, then INFO SEGsare assigned to positions P on layer k with the least numerical valuesand the smallest possible range among the available positions P (step110).

In step 112, all assigned P nodes are virtually marked and, as in step107, all nodes below the marked P nodes on the k layer are marked asassigned and are removed from consideration for the remaining INFOs.Finally, steps 108 through 112 are repeated until all information blocksINFOs are scheduled (step 113).

An example is shown in FIG. 4 having eleven information blocks (MIB,INFO1-INFO10), each with its own segment count SC and repetition periodRP. Using Equation 1, a check for adequate bandwidth in step 100 isperformed as follows:

$\begin{matrix}{{\frac{5}{16} + \frac{2}{32} + {3\left( \frac{1}{32} \right)} + {2\left( \frac{10}{128} \right)} + \frac{1}{32} + {2\left( \frac{5}{64} \right)} + \frac{1}{8}} \leq 1} \\{0.9375 \leq 1}\end{matrix}$

Thus, there is adequate bandwidth and the utilization of the broadcastchannel is 93.75%.

The maximum repetition period RP among the eleven information blocks is128, corresponding with INFO5 and INFO6 of FIG. 4. Using Equation 3, itfollows that N=7. Therefore, positions P for scheduling on the broadcastchannel will range between 0 and 127, in accordance with Equation 2(step 101). The non header blocks INFO1-INFO10 information are thenrearranged in ascending order of RP (step 102), as shown in Table 1.Since the management information base MIB is the header INFO andcontains control information for the communication system to which theinformation blocks are received, the first segment of MIB is to beassigned at P=0 so that this information is read first by the receiver.Thus, MIB is in the first row of LIST A in Table 1 regardless that theRP for MIB is not the least among the information blocks.

TABLE 1 LIST A Information Segment Count Repetition Period Layer BlockSC RP Value MIB 5 16 4 INFO10 1 8 3 INFO1 2 32 5 INFO4 1 32 5 INFO7 1 325 INFO3 1 32 5 INFO2 1 32 5 INFO9 5 64 6 INFO8 5 64 6 INFO5 10 128 7INFO6 10 128 7

With the number layers established as N=7, a binary tree with sevenlayers and positions from P=0 to P=127 is created (step (103) as shownin FIG. 5A. In order to track the assigned positions P(i) for eachinformation block, LIST B is generated as the position assignment list(step 104). Using Equation 4, the layer value for information block MIBis calculated (step 105):

$\begin{matrix}{m = {\log_{2}\left( {{INFO}_{1}({RP})} \right)}} \\{= {\log_{2}(16)}} \\{= 4}\end{matrix}$

The five segments of MIB are then assigned (step 106) to consecutivepositions P=0, 1, 2, 3, 4 for positions P(0) to P(4) as shown in Table2. As each information segment is scheduled for an information blockINFO, the corresponding position P is recorded in LIST B.

TABLE 2 LIST B Information P Block P(0) P(1) P(2) P(3) P(4) P(5) P(6)P(7) P(8) P(9) Range MIB 0 1 2 3 4 5 INFO10 INFO1 INFO4 INFO7 INFO3INFO2 INFO9 INFO8 INFO5 INFO6

Referring to the binary tree of FIG. 5B, all nodes below layer 4 forP=0, 1, 2, 3 and 4, are eliminated as potentially assignable positionsfor the remaining segments of information (step 107). For example, atNODE B on layer 4 where P=0, the following nodes are eliminated and willnot contain segments of information: the two nodes at layer 5 (P=0, 16),the four nodes at layer 6 (P=0, 32, 16, 48) and the eight nodes at layer7 (P=0, 64, 32, 96, 16, 80, 48, 112). The shaded area under NODE B inFIG. 5B shows the elimination of these child nodes. Similarly, the childnodes associated with P=1, 2, 3, 4 are marked as assigned, as shown bythe shaded areas below layer 4 in FIG. 5B.

The next block of information to be scheduled is INFO10 since itdirectly follows MIB in LIST A (step 108). Based on Equation 5, thelayer k value for INFO10 is k=3. Looking on the binary tree of FIG. 5Bat layer k=3, the possible candidates for selection are P=5, 6 or 7,since P=0 through P=4 were assigned to MIB. The largest of these,position P=7, shown as NODE C in FIG. 5C, is chosen according to steps109 and 111 since k=m and INFO10 is the first non-header INFO in LIST A.The shaded area under NODE C shows the elimination of all child nodesfor P=7 at layer k=3 (step 112).

With INFO10 scheduled, LIST A is consulted for the next informationblock for scheduling. As shown on Table 1, INFO1 is next in line forscheduling. The layer value k=5 associated with INFO1 is calculated fromEquation 5 (step 108). Referring to FIG. 5C, the available nodes atlayer 5 are those that have not been eliminated by the scheduling ofINFO blocks MIB and INFO10. With the first non-header INFO scheduled,all remaining INFOs are scheduled to positions with the least numericalvalues and as consecutive to one another as possible according to steps109 and 110. Therefore, the two segments for INFO1 are assigned topositions P=5, 6 as shown in FIG. 5D.

Repeating steps 108,109, 110 and 112, information blocks INFO4 and INFO7are scheduled next in accordance with the order shown in LIST A. Similarto INFO1, information blocks INFO4 and INFO7 have a layer value of k=5,and thus the next available consecutive positions P=8 and P=9 areassigned to INFO4 and INFO7 respectively. The marking of these positionsis shown in FIG. 5E

Information blocks INFO2 and INFO3 have identical repetition periods RPof 32 and a layer value of k=5 accordingly. Consulting FIG. 5E,positions P=10, 11 are available at layer 5 and are chosen as shown inFIG. 5F.

The next information block shown in LIST A for scheduling is INFO9,which has a layer value of k=6. The five information segments of INFO9are scheduled at the five consecutive positions available at layer 6with the least numerical values, which are P=24, 25, 26, 27, 28. Thesepositions are recorded in LIST B and the positions that fall below thesenodes in layer 7 are eliminated from future consideration as shown inFIG. 5G. Similarly, information block INFO8 has five segments ofinformation and is associated with layer 6. Searching the remainingavailable positions at layer 6 for five consecutive positions yieldsP=56, 57, 58, 59, 60. These positions are recorded in LIST B and thecorresponding child positions in layer 7 are eliminated fromconsideration (FIG. 5G) as with the previous information blocks. Theremaining information blocks, INFO5 and INFO6, have layer values of k=7and ten segments of information. Turning to FIG. 5H, ten positions arechosen for INFO5 segments from the remaining available positions atlayer 7 which have the smallest range possible: P=12, 13, 14, 21, 22,29, 30, 44, 45, 46. Similarly, INFO6 segments are scheduled to positionsthat are available at layer 7 and are recorded in LIST B as shown inTable 3, which shows the completed LIST B for system 10.

TABLE 3 LIST B Information P Block P(0) P(1) P(2) P(3) P(4) P(5) P(6)P(7) P(8) P(9) Range MIB 0 1 2 3 4 5 INFO10 7 1 INFO1 5 6 2 INFO4 8 1INFO7 9 1 INFO3 10 1 INFO2 11 1 INFO9 24 25 26 27 28 5 INFO8 56 57 58 5960 5 INFO5 12 13 14 21 22 29 30 44 45 46 34 INFO6 76 77 78 85 86 93 94108 109 110 34

The last column of Table 3 shows the P range for each information block.For information blocks INFO5 and INFO6 with ten segments of informationeach, the range of position values is 34. This shows that out of 128positions, the complete set of information segments for INFO5 and INFO6is received optimized, as the segments are assigned to a group ofpositions that are relatively compact along the single channel. Thus,the receiver can read INFO5 and INFO6 more quickly and efficiently thanif their information segments had been spread over a greater range alongthe 128 available positions. All other information blocks INFOs have a Prange exactly equivalent to the segment count SC, which is the maximumpossible efficiency.

To one skilled in the art, it would be evident that the method disclosedherein may be implemented by a microprocessor with memory. The binarytree mapping can reside in memory. As segments of information arescheduled, the microprocessor updates the mapping to reflect thatinformation segments are assigned to their respective positions in thecorresponding binary tree layer as well as all corresponding child nodepositions.

It should also be recognized to one skilled in the art that a B-tree orsplay tree could similarly be mapped in accordance with the methoddisclosed herein.

Although features and elements are described above in particularcombinations, each feature or element can be used alone without theother features and elements or in various combinations with or withoutother features and elements. The methods or flow charts provided hereinmay be implemented in a computer program, software, or firmwareincorporated in a computer-readable storage medium for execution by ageneral purpose computer or a processor. Examples of computer-readablestorage mediums include a read only memory (ROM), a random access memory(RAM), a register, cache memory, semiconductor memory devices, magneticmedia such as internal hard disks and removable disks, magneto-opticalmedia, and optical media such as CD-ROM disks, and digital versatiledisks (DVDs).

Suitable processors include, by way of example, a general purposeprocessor, a special purpose processor, a conventional processor, adigital signal processor (DSP), a plurality of microprocessors, one ormore microprocessors in association with a DSP core, a controller, amicrocontroller, Application Specific Integrated Circuits (ASICs), FieldProgrammable Gate Arrays (FPGAs) circuits, any other type of integratedcircuit (IC), and/or a state machine.

A processor in association with software may be used to implement aradio frequency transceiver for use in a wireless transmit receive unit(WTRU), user equipment (UE), terminal, base station, radio networkcontroller (RNC), or any host computer. The WTRU may be used inconjunction with modules, implemented in hardware and/or software, suchas a camera, a video camera module, a videophone, a speakerphone, avibration device, a speaker, a microphone, a television transceiver, ahands free headset, a keyboard, a Bluetooth® module, a frequencymodulated (FM) radio unit, a liquid crystal display (LCD) display unit,an organic light-emitting diode (OLED) display unit, a digital musicplayer, a media player, a video game player module, an Internet browser,and/or any wireless local area network (WLAN) or Ultra Wide Band (UWB)module.

1. A method for multiplexed scheduling of information blocks frommultiple sources on a single communication channel, comprising: definingblocks of information and associating each block of information with asource of information; dividing the single communication channel intomultiple address positions; confirming bandwidth for the defined blocksof information; determining a number of positions necessary to allow theinformation blocks to be scheduled; sorting the information blocks in ascheduler list; and scheduling the information blocks in accordance withthe scheduling list.
 2. The method as in claim 1, wherein eachinformation block has its own repetition period.
 3. The method as inclaim 2, wherein the information blocks are sorted in ascending order oftheir repetition period.
 4. The method as in claim 2, further comprisingdividing information blocks into information segments.
 5. The method asin claim 2, wherein the repetition period indicates how often theinformation accesses a single channel.
 6. The method as in claim 1,wherein information segments are assigned to the multiple addresspositions corresponding to binary tree nodes.
 7. The method as in claim6, further comprising creating a position assignment list where eachinformation segment for each information block is assigned to a singleposition.
 8. The method as in claim 6 wherein a first information blockis assigned to nodes of the binary tree in accordance with the followingequation:m=log₂(INFO₁(RP))≦N wherein m represents a binary tree layer,(INFO₁(RP)) represents a first information block repetition period, andN is the total number of binary tree layers.
 9. The method as in claim8, wherein the first information block is a management information base(MIB).
 10. A microprocessor configured to define blocks of informationand to associate each block of information with a source of information;divide the single communication channel into multiple address positions;confirm bandwidth for the defined blocks of information; determine anumber of positions necessary to allow the information blocks to bescheduled; sort the information blocks in a scheduler list; and schedulethe information blocks in accordance with the scheduling list.
 11. Themicroprocessor as in claim 10, configured to sort the information blocksin ascending order by repetition period, where each information blockhas its own repetition period according to how often the informationaccesses the communication channel.
 12. The microprocessor as in claim11, configured to divide each information blocks into informationsegments.
 13. The microprocessor as in claim 12, wherein the informationsegments are assigned to the multiple address positions corresponding tobinary tree nodes.
 14. The microprocessor as in claim 13, furtherconfigured to create a position assignment list where each informationsegment for each information block is assigned to a single position. 15.The microprocessor as in claim 13, further configured to assign a firstinformation block to nodes of the binary tree in accordance with thefollowing equation:m=log₂(INFO₁(RP))≦N wherein m represents a binary tree layer,(INFO₁(RP)) represents a first information block repetition period, andN is the total number of binary tree layers.
 16. The microprocessor asin claim 15, wherein the first information block is a managementinformation base (MIB).